1. Field of the Invention
The present invention generally relates an interface device, and a method and a computer readable product for updating firmware in the interface device, and more particularly, to an interface device that enables one device to be shared by a plurality of computers, and a method and a computer readable product for storing program steps of updating firmware in the interface device.
2. Description of the Related Art
A “KVM” (Keyboard, Video, and Mouse) device is well known as an interface device of the above described type. FIG. 1 illustrates a system that employs a conventional KVM device 100.
As shown in FIG. 1, the KVM device 100 enables peripherals, such as a keyboard 21, a mouse 22, and a display 23 (these devices will be hereinafter referred to as the “KVM”), to be shared by a plurality of information processing apparatuses, such as personal computers (hereinafter referred to simply as “PCs”) 1 through 4.
More specifically, the KVM device 100 emulates the KVM for the PCs 1 through 4 connected thereto. The PCs 1 through 4 operate in accordance with the KVM emulated by the KVM device 100. In this manner, only one KVM is required by the PCs 1 through 4, which originally require four separate KVMs.
FIG. 2 illustrates the inner structure of the KVM device 100 of FIG. 1.
As can be seen from FIG. 2, a plurality of microcontroller circuits (hereinafter referred to as the “MCUs”) 11 through 15 are provided in the KVM device 100, and are connected to one another via an internal bus 19. In this example shown in FIGS. 1 and 2, the PCs 1 through 4 are to be connected to the MCUs 11 through 14 of the KVM device 100 via external interfaces 1a through 4a that serve as connecting interfaces. The keyboard 21, the mouse 22, and the display 23, which constitute the KVM, are to be connected to the MCU 15 via an external interface 5a that is a connecting interface.
The external interfaces 1a through 5a shown in FIG. 2 include interfaces for various types of KVMs shown in FIG. 3. For example, a keyboard interface group 21a includes an industry standard “PS/2” keyboard interface, an industry standard “SUN” keyboard interface, and an industry standard “USB” keyboard interface. A mouse interface group 22a includes an industry standard “PS/2” mouse interface, an industry standard “SUB” mouse interface, and an industry standard “USB” mouse interface. A display interface group 23a includes an analog display interface and a digital display interface.
The MCU 15 to which the KVM is connected via the external interface 5a is provided with switches 16 that enable an operator to operate the KVM device 100. These switches 16 are used to select for which one of the PC 1 through 4 the device (the keyboard 21, the mouse 22, and the display 23 in this case) connected via the external interface 5a is to be activated. Accordingly, an operator operates the switches 16 to switch PCs to be activated.
FIG. 4 illustrates a situation where the KVM connected via the external interface 5a is actively operating for the PC 1, while no data transactions are generated in the MCUs 12 through 14 to be connected to the other PCs 2 through 4. In this situation, just operating the switches 16, an operator can switch the objects for which the KVM actively operates from the PC 1 to the PC 4, as illustrated in FIG. 5.
With the above conventional KVM device 100, however, it is necessary to emulate the situation in which the KVM is actually connected to each PC, and therefore, there are restrictions on what types of KVMs can be employed.
More specifically, to operate an active PC as if it were actually connected to the KVM, the MCU 11 of the KVM device 100 needs to provide an accurately emulated KVM to a device driver stack 1b2 of an operation system (hereinafter referred to simply as the “OS”) 1b incorporated into an PC (the PC 1, for example), as illustrated in FIG. 6. In doing so, the MCU 11 of the KVM device 100 estimates the operation of the KVM connected to the external interface 5a, and then determines its own operation for the active PC1 connected to the external interface 1a. The same applies to the other MCUs 2 through 4.
In this case, the KVM to be connected has to be compatible with and recognizable to the KVM device 100.
However, in a case where a KVM unrecognizable to an MCU in the KVM device 100 is connected, there are inconsistencies in the control method between the KVM and the PC, and the KVM functions to materialize for the PC are limited by the MCU, regardless of the original functions of the connected KVM.
As a result, there are such problems that an unrecognizable KVM cannot be recognized, cannot be operated, or does not properly function.
FIG. 7 illustrates a specific example of the above problems.
Examples of widely known keyboard interfaces include an industry standard “PS/2” keyboard interface, an industry standard “SUN” keyboard interface, and an industry standard “USB” keyboard interface.
However, these keyboards are already specified in the industry standard specifications, and most keyboards operate in accordance with the specifications. Accordingly, except for the external interfaces, these keyboards have the same structures each including a keyboard matrix and an LED (Light Emitting Diode).
On the other hand, there exist a number of keyboards that are provided with non-standard functions.
To cope with cases in which non-standard functions are provided for external interfaces, a function to emulate the non-standard functions needs to be incorporated into the KVM device 100, but, being non-standard, these functions cannot always be emulated and incorporated.
For the above reasons, an unrecognizable keyboard having a non-standard function cannot be even activated in the worst case scenario.